package com.gobang.domain.dto;

import lombok.Data;

import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotBlank;
import java.io.Serializable;

/**
 * 落子请求数据传输对象
 * 用于客户端发送落子请求
 * 
 * @author System
 * @since 1.0.0
 */
@Data
public class MoveRequestDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 房间ID
     */
    @NotBlank(message = "房间ID不能为空")
    private String roomId;

    /**
     * 落子行坐标（0-14）
     */
    @Min(value = 0, message = "行坐标不能小于0")
    @Max(value = 14, message = "行坐标不能大于14")
    private Integer row;

    /**
     * 落子列坐标（0-14）
     */
    @Min(value = 0, message = "列坐标不能小于0")
    @Max(value = 14, message = "列坐标不能大于14")
    private Integer col;

    /**
     * 用户ID（服务端设置）
     */
    private Long userId;
} 